World-Maker Airports

Airports in World-Maker

To create or edit airports with World-Maker, go to "Edit:Airports" in World-Maker. Each airport in X-Plane CLASSIC may have up to 3 runways. X-Plane 5 offers unlimited runways, though, and a variety of runway surfaces like asphalt, concrete, gravel, dirt, and grass are available. Runways have approach-light options, such as glideslope indications, approach lights leading up to the runway, and the runway lights themselves. You can use the user-friendly interface to design entire airport runway and taxiway layouts with only a few clicks of the mouse!

Airports in a Word-Processor

The user-friendly interface in World-Maker is there so you do not have to edit any files by hand, but if you do want to go in and edit the airport file manually for some reason, you may certainly open the "apt.dat" file with a word processor.

To edit airports with a word processor, you need to understand the file format of the airport.dat file.

Here is a make-believe sample entry and it's meaning:

1 3127 0 1 CZML 108 Mile Airport
10 51.7352982 -121.3335037 14x 161.50 4877 100.0200 300.0400 75 1231231

Now here it is explained:

1 -------type: airport

3127 -------elevation of airport

0 1 -------does not have control tower, but does have standard hangars off to the side

CZML 108 Mile Airport -------airport ID and name

10 51.7352982 -121.3335037 -------entry type 10 means runway, then latitude and longitude

14x 161.50 4877 -------runway number, heading (true), length

100.0200 -------displaced threshold 100 feet this end, 200 feet at the other end

300.0400 -------blastpad overun 300 feet this end, 400 feet at the other end

75 -------runway width

1231231 -------runway lighting code, with source-code to generate it here:

xint code = 0;
if(typ==t_asph_pave )code+= 1000000;
if(typ==t_conc_pave )code+= 2000000;
if(typ==t_surf_gras )code+= 3000000;
if(typ==t_surf_dirt )code+= 4000000;
if(typ==t_surf_grav )code+= 5000000;
if(typ==t_surf_asphH)code+= 6000000;
if(typ==t_surf_concH)code+= 7000000;
if(typ==t_surf_grasH)code+= 8000000;
if(typ==t_surf_dirtH)code+= 9000000;
if(typ==t_asph_turn )code+=10000000;
if(typ==t_conc_turn )code+=11000000;
if(typ==t_surf_lake )code+=12000000;
xint end;
for(end=0;end<=1;end++)
{
xint mfac=(end==0)?1000:1; // end=0 means front of runway, end=1 means back of runway
if(gls[end]==lgt_gls_none )code+=100*mfac;
if(gls[end]==lgt_gls_vasi )code+=200*mfac;
if(gls[end]==lgt_gls_papi )code+=300*mfac;
if(gls[end]==lgt_gls_papi2)code+=400*mfac;
if(rwy[end]==lgt_rwy_none )code+= 10*mfac;
if(rwy[end]==lgt_rwy_mirl )code+= 20*mfac;
if(rwy[end]==lgt_rwy_reil )code+= 30*mfac;
if(rwy[end]==lgt_rwy_rcls )code+= 40*mfac;
if(rwy[end]==lgt_rwy_tdzl )code+= 50*mfac;
if(rwy[end]==lgt_rwy_taxi )code+= 60*mfac;
if(app[end]==lgt_app_none )code+= 1*mfac;
if(app[end]==lgt_app_sals1)code+= 2*mfac;
if(app[end]==lgt_app_sals2)code+= 3*mfac;
if(app[end]==lgt_app_alsf1)code+= 4*mfac;
if(app[end]==lgt_app_alsf2)code+= 5*mfac;
if(app[end]==lgt_app_odals)code+= 6*mfac;
}

(next section)